package com.hzf.designer.dao.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DneedsDemandExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private static final long serialVersionUID = 1L;

    public DneedsDemandExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria implements Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Integer value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Integer value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Integer value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Integer value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Integer> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Integer> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Integer value1, Integer value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andCityIsNull() {
            addCriterion("city is null");
            return (Criteria) this;
        }

        public Criteria andCityIsNotNull() {
            addCriterion("city is not null");
            return (Criteria) this;
        }

        public Criteria andCityEqualTo(Integer value) {
            addCriterion("city =", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityNotEqualTo(Integer value) {
            addCriterion("city <>", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityGreaterThan(Integer value) {
            addCriterion("city >", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityGreaterThanOrEqualTo(Integer value) {
            addCriterion("city >=", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityLessThan(Integer value) {
            addCriterion("city <", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityLessThanOrEqualTo(Integer value) {
            addCriterion("city <=", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityIn(List<Integer> values) {
            addCriterion("city in", values, "city");
            return (Criteria) this;
        }

        public Criteria andCityNotIn(List<Integer> values) {
            addCriterion("city not in", values, "city");
            return (Criteria) this;
        }

        public Criteria andCityBetween(Integer value1, Integer value2) {
            addCriterion("city between", value1, value2, "city");
            return (Criteria) this;
        }

        public Criteria andCityNotBetween(Integer value1, Integer value2) {
            addCriterion("city not between", value1, value2, "city");
            return (Criteria) this;
        }

        public Criteria andAddressIsNull() {
            addCriterion("address is null");
            return (Criteria) this;
        }

        public Criteria andAddressIsNotNull() {
            addCriterion("address is not null");
            return (Criteria) this;
        }

        public Criteria andAddressEqualTo(String value) {
            addCriterion("address =", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotEqualTo(String value) {
            addCriterion("address <>", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThan(String value) {
            addCriterion("address >", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThanOrEqualTo(String value) {
            addCriterion("address >=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThan(String value) {
            addCriterion("address <", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThanOrEqualTo(String value) {
            addCriterion("address <=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLike(String value) {
            addCriterion("address like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotLike(String value) {
            addCriterion("address not like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressIn(List<String> values) {
            addCriterion("address in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotIn(List<String> values) {
            addCriterion("address not in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressBetween(String value1, String value2) {
            addCriterion("address between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotBetween(String value1, String value2) {
            addCriterion("address not between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andCallNameIsNull() {
            addCriterion("call_name is null");
            return (Criteria) this;
        }

        public Criteria andCallNameIsNotNull() {
            addCriterion("call_name is not null");
            return (Criteria) this;
        }

        public Criteria andCallNameEqualTo(String value) {
            addCriterion("call_name =", value, "callName");
            return (Criteria) this;
        }

        public Criteria andCallNameNotEqualTo(String value) {
            addCriterion("call_name <>", value, "callName");
            return (Criteria) this;
        }

        public Criteria andCallNameGreaterThan(String value) {
            addCriterion("call_name >", value, "callName");
            return (Criteria) this;
        }

        public Criteria andCallNameGreaterThanOrEqualTo(String value) {
            addCriterion("call_name >=", value, "callName");
            return (Criteria) this;
        }

        public Criteria andCallNameLessThan(String value) {
            addCriterion("call_name <", value, "callName");
            return (Criteria) this;
        }

        public Criteria andCallNameLessThanOrEqualTo(String value) {
            addCriterion("call_name <=", value, "callName");
            return (Criteria) this;
        }

        public Criteria andCallNameLike(String value) {
            addCriterion("call_name like", value, "callName");
            return (Criteria) this;
        }

        public Criteria andCallNameNotLike(String value) {
            addCriterion("call_name not like", value, "callName");
            return (Criteria) this;
        }

        public Criteria andCallNameIn(List<String> values) {
            addCriterion("call_name in", values, "callName");
            return (Criteria) this;
        }

        public Criteria andCallNameNotIn(List<String> values) {
            addCriterion("call_name not in", values, "callName");
            return (Criteria) this;
        }

        public Criteria andCallNameBetween(String value1, String value2) {
            addCriterion("call_name between", value1, value2, "callName");
            return (Criteria) this;
        }

        public Criteria andCallNameNotBetween(String value1, String value2) {
            addCriterion("call_name not between", value1, value2, "callName");
            return (Criteria) this;
        }

        public Criteria andCallRoomIsNull() {
            addCriterion("call_room is null");
            return (Criteria) this;
        }

        public Criteria andCallRoomIsNotNull() {
            addCriterion("call_room is not null");
            return (Criteria) this;
        }

        public Criteria andCallRoomEqualTo(Integer value) {
            addCriterion("call_room =", value, "callRoom");
            return (Criteria) this;
        }

        public Criteria andCallRoomNotEqualTo(Integer value) {
            addCriterion("call_room <>", value, "callRoom");
            return (Criteria) this;
        }

        public Criteria andCallRoomGreaterThan(Integer value) {
            addCriterion("call_room >", value, "callRoom");
            return (Criteria) this;
        }

        public Criteria andCallRoomGreaterThanOrEqualTo(Integer value) {
            addCriterion("call_room >=", value, "callRoom");
            return (Criteria) this;
        }

        public Criteria andCallRoomLessThan(Integer value) {
            addCriterion("call_room <", value, "callRoom");
            return (Criteria) this;
        }

        public Criteria andCallRoomLessThanOrEqualTo(Integer value) {
            addCriterion("call_room <=", value, "callRoom");
            return (Criteria) this;
        }

        public Criteria andCallRoomIn(List<Integer> values) {
            addCriterion("call_room in", values, "callRoom");
            return (Criteria) this;
        }

        public Criteria andCallRoomNotIn(List<Integer> values) {
            addCriterion("call_room not in", values, "callRoom");
            return (Criteria) this;
        }

        public Criteria andCallRoomBetween(Integer value1, Integer value2) {
            addCriterion("call_room between", value1, value2, "callRoom");
            return (Criteria) this;
        }

        public Criteria andCallRoomNotBetween(Integer value1, Integer value2) {
            addCriterion("call_room not between", value1, value2, "callRoom");
            return (Criteria) this;
        }

        public Criteria andCallHallIsNull() {
            addCriterion("call_hall is null");
            return (Criteria) this;
        }

        public Criteria andCallHallIsNotNull() {
            addCriterion("call_hall is not null");
            return (Criteria) this;
        }

        public Criteria andCallHallEqualTo(Integer value) {
            addCriterion("call_hall =", value, "callHall");
            return (Criteria) this;
        }

        public Criteria andCallHallNotEqualTo(Integer value) {
            addCriterion("call_hall <>", value, "callHall");
            return (Criteria) this;
        }

        public Criteria andCallHallGreaterThan(Integer value) {
            addCriterion("call_hall >", value, "callHall");
            return (Criteria) this;
        }

        public Criteria andCallHallGreaterThanOrEqualTo(Integer value) {
            addCriterion("call_hall >=", value, "callHall");
            return (Criteria) this;
        }

        public Criteria andCallHallLessThan(Integer value) {
            addCriterion("call_hall <", value, "callHall");
            return (Criteria) this;
        }

        public Criteria andCallHallLessThanOrEqualTo(Integer value) {
            addCriterion("call_hall <=", value, "callHall");
            return (Criteria) this;
        }

        public Criteria andCallHallIn(List<Integer> values) {
            addCriterion("call_hall in", values, "callHall");
            return (Criteria) this;
        }

        public Criteria andCallHallNotIn(List<Integer> values) {
            addCriterion("call_hall not in", values, "callHall");
            return (Criteria) this;
        }

        public Criteria andCallHallBetween(Integer value1, Integer value2) {
            addCriterion("call_hall between", value1, value2, "callHall");
            return (Criteria) this;
        }

        public Criteria andCallHallNotBetween(Integer value1, Integer value2) {
            addCriterion("call_hall not between", value1, value2, "callHall");
            return (Criteria) this;
        }

        public Criteria andCallToiletIsNull() {
            addCriterion("call_toilet is null");
            return (Criteria) this;
        }

        public Criteria andCallToiletIsNotNull() {
            addCriterion("call_toilet is not null");
            return (Criteria) this;
        }

        public Criteria andCallToiletEqualTo(Integer value) {
            addCriterion("call_toilet =", value, "callToilet");
            return (Criteria) this;
        }

        public Criteria andCallToiletNotEqualTo(Integer value) {
            addCriterion("call_toilet <>", value, "callToilet");
            return (Criteria) this;
        }

        public Criteria andCallToiletGreaterThan(Integer value) {
            addCriterion("call_toilet >", value, "callToilet");
            return (Criteria) this;
        }

        public Criteria andCallToiletGreaterThanOrEqualTo(Integer value) {
            addCriterion("call_toilet >=", value, "callToilet");
            return (Criteria) this;
        }

        public Criteria andCallToiletLessThan(Integer value) {
            addCriterion("call_toilet <", value, "callToilet");
            return (Criteria) this;
        }

        public Criteria andCallToiletLessThanOrEqualTo(Integer value) {
            addCriterion("call_toilet <=", value, "callToilet");
            return (Criteria) this;
        }

        public Criteria andCallToiletIn(List<Integer> values) {
            addCriterion("call_toilet in", values, "callToilet");
            return (Criteria) this;
        }

        public Criteria andCallToiletNotIn(List<Integer> values) {
            addCriterion("call_toilet not in", values, "callToilet");
            return (Criteria) this;
        }

        public Criteria andCallToiletBetween(Integer value1, Integer value2) {
            addCriterion("call_toilet between", value1, value2, "callToilet");
            return (Criteria) this;
        }

        public Criteria andCallToiletNotBetween(Integer value1, Integer value2) {
            addCriterion("call_toilet not between", value1, value2, "callToilet");
            return (Criteria) this;
        }

        public Criteria andCallAcreageIsNull() {
            addCriterion("call_acreage is null");
            return (Criteria) this;
        }

        public Criteria andCallAcreageIsNotNull() {
            addCriterion("call_acreage is not null");
            return (Criteria) this;
        }

        public Criteria andCallAcreageEqualTo(Integer value) {
            addCriterion("call_acreage =", value, "callAcreage");
            return (Criteria) this;
        }

        public Criteria andCallAcreageNotEqualTo(Integer value) {
            addCriterion("call_acreage <>", value, "callAcreage");
            return (Criteria) this;
        }

        public Criteria andCallAcreageGreaterThan(Integer value) {
            addCriterion("call_acreage >", value, "callAcreage");
            return (Criteria) this;
        }

        public Criteria andCallAcreageGreaterThanOrEqualTo(Integer value) {
            addCriterion("call_acreage >=", value, "callAcreage");
            return (Criteria) this;
        }

        public Criteria andCallAcreageLessThan(Integer value) {
            addCriterion("call_acreage <", value, "callAcreage");
            return (Criteria) this;
        }

        public Criteria andCallAcreageLessThanOrEqualTo(Integer value) {
            addCriterion("call_acreage <=", value, "callAcreage");
            return (Criteria) this;
        }

        public Criteria andCallAcreageIn(List<Integer> values) {
            addCriterion("call_acreage in", values, "callAcreage");
            return (Criteria) this;
        }

        public Criteria andCallAcreageNotIn(List<Integer> values) {
            addCriterion("call_acreage not in", values, "callAcreage");
            return (Criteria) this;
        }

        public Criteria andCallAcreageBetween(Integer value1, Integer value2) {
            addCriterion("call_acreage between", value1, value2, "callAcreage");
            return (Criteria) this;
        }

        public Criteria andCallAcreageNotBetween(Integer value1, Integer value2) {
            addCriterion("call_acreage not between", value1, value2, "callAcreage");
            return (Criteria) this;
        }

        public Criteria andCallNoIsNull() {
            addCriterion("call_no is null");
            return (Criteria) this;
        }

        public Criteria andCallNoIsNotNull() {
            addCriterion("call_no is not null");
            return (Criteria) this;
        }

        public Criteria andCallNoEqualTo(Integer value) {
            addCriterion("call_no =", value, "callNo");
            return (Criteria) this;
        }

        public Criteria andCallNoNotEqualTo(Integer value) {
            addCriterion("call_no <>", value, "callNo");
            return (Criteria) this;
        }

        public Criteria andCallNoGreaterThan(Integer value) {
            addCriterion("call_no >", value, "callNo");
            return (Criteria) this;
        }

        public Criteria andCallNoGreaterThanOrEqualTo(Integer value) {
            addCriterion("call_no >=", value, "callNo");
            return (Criteria) this;
        }

        public Criteria andCallNoLessThan(Integer value) {
            addCriterion("call_no <", value, "callNo");
            return (Criteria) this;
        }

        public Criteria andCallNoLessThanOrEqualTo(Integer value) {
            addCriterion("call_no <=", value, "callNo");
            return (Criteria) this;
        }

        public Criteria andCallNoIn(List<Integer> values) {
            addCriterion("call_no in", values, "callNo");
            return (Criteria) this;
        }

        public Criteria andCallNoNotIn(List<Integer> values) {
            addCriterion("call_no not in", values, "callNo");
            return (Criteria) this;
        }

        public Criteria andCallNoBetween(Integer value1, Integer value2) {
            addCriterion("call_no between", value1, value2, "callNo");
            return (Criteria) this;
        }

        public Criteria andCallNoNotBetween(Integer value1, Integer value2) {
            addCriterion("call_no not between", value1, value2, "callNo");
            return (Criteria) this;
        }

        public Criteria andCallUnitIsNull() {
            addCriterion("call_unit is null");
            return (Criteria) this;
        }

        public Criteria andCallUnitIsNotNull() {
            addCriterion("call_unit is not null");
            return (Criteria) this;
        }

        public Criteria andCallUnitEqualTo(Integer value) {
            addCriterion("call_unit =", value, "callUnit");
            return (Criteria) this;
        }

        public Criteria andCallUnitNotEqualTo(Integer value) {
            addCriterion("call_unit <>", value, "callUnit");
            return (Criteria) this;
        }

        public Criteria andCallUnitGreaterThan(Integer value) {
            addCriterion("call_unit >", value, "callUnit");
            return (Criteria) this;
        }

        public Criteria andCallUnitGreaterThanOrEqualTo(Integer value) {
            addCriterion("call_unit >=", value, "callUnit");
            return (Criteria) this;
        }

        public Criteria andCallUnitLessThan(Integer value) {
            addCriterion("call_unit <", value, "callUnit");
            return (Criteria) this;
        }

        public Criteria andCallUnitLessThanOrEqualTo(Integer value) {
            addCriterion("call_unit <=", value, "callUnit");
            return (Criteria) this;
        }

        public Criteria andCallUnitIn(List<Integer> values) {
            addCriterion("call_unit in", values, "callUnit");
            return (Criteria) this;
        }

        public Criteria andCallUnitNotIn(List<Integer> values) {
            addCriterion("call_unit not in", values, "callUnit");
            return (Criteria) this;
        }

        public Criteria andCallUnitBetween(Integer value1, Integer value2) {
            addCriterion("call_unit between", value1, value2, "callUnit");
            return (Criteria) this;
        }

        public Criteria andCallUnitNotBetween(Integer value1, Integer value2) {
            addCriterion("call_unit not between", value1, value2, "callUnit");
            return (Criteria) this;
        }

        public Criteria andCallHouseIsNull() {
            addCriterion("call_house is null");
            return (Criteria) this;
        }

        public Criteria andCallHouseIsNotNull() {
            addCriterion("call_house is not null");
            return (Criteria) this;
        }

        public Criteria andCallHouseEqualTo(Integer value) {
            addCriterion("call_house =", value, "callHouse");
            return (Criteria) this;
        }

        public Criteria andCallHouseNotEqualTo(Integer value) {
            addCriterion("call_house <>", value, "callHouse");
            return (Criteria) this;
        }

        public Criteria andCallHouseGreaterThan(Integer value) {
            addCriterion("call_house >", value, "callHouse");
            return (Criteria) this;
        }

        public Criteria andCallHouseGreaterThanOrEqualTo(Integer value) {
            addCriterion("call_house >=", value, "callHouse");
            return (Criteria) this;
        }

        public Criteria andCallHouseLessThan(Integer value) {
            addCriterion("call_house <", value, "callHouse");
            return (Criteria) this;
        }

        public Criteria andCallHouseLessThanOrEqualTo(Integer value) {
            addCriterion("call_house <=", value, "callHouse");
            return (Criteria) this;
        }

        public Criteria andCallHouseIn(List<Integer> values) {
            addCriterion("call_house in", values, "callHouse");
            return (Criteria) this;
        }

        public Criteria andCallHouseNotIn(List<Integer> values) {
            addCriterion("call_house not in", values, "callHouse");
            return (Criteria) this;
        }

        public Criteria andCallHouseBetween(Integer value1, Integer value2) {
            addCriterion("call_house between", value1, value2, "callHouse");
            return (Criteria) this;
        }

        public Criteria andCallHouseNotBetween(Integer value1, Integer value2) {
            addCriterion("call_house not between", value1, value2, "callHouse");
            return (Criteria) this;
        }

        public Criteria andCallPhoneIsNull() {
            addCriterion("call_phone is null");
            return (Criteria) this;
        }

        public Criteria andCallPhoneIsNotNull() {
            addCriterion("call_phone is not null");
            return (Criteria) this;
        }

        public Criteria andCallPhoneEqualTo(Long value) {
            addCriterion("call_phone =", value, "callPhone");
            return (Criteria) this;
        }

        public Criteria andCallPhoneNotEqualTo(Long value) {
            addCriterion("call_phone <>", value, "callPhone");
            return (Criteria) this;
        }

        public Criteria andCallPhoneGreaterThan(Long value) {
            addCriterion("call_phone >", value, "callPhone");
            return (Criteria) this;
        }

        public Criteria andCallPhoneGreaterThanOrEqualTo(Long value) {
            addCriterion("call_phone >=", value, "callPhone");
            return (Criteria) this;
        }

        public Criteria andCallPhoneLessThan(Long value) {
            addCriterion("call_phone <", value, "callPhone");
            return (Criteria) this;
        }

        public Criteria andCallPhoneLessThanOrEqualTo(Long value) {
            addCriterion("call_phone <=", value, "callPhone");
            return (Criteria) this;
        }

        public Criteria andCallPhoneIn(List<Long> values) {
            addCriterion("call_phone in", values, "callPhone");
            return (Criteria) this;
        }

        public Criteria andCallPhoneNotIn(List<Long> values) {
            addCriterion("call_phone not in", values, "callPhone");
            return (Criteria) this;
        }

        public Criteria andCallPhoneBetween(Long value1, Long value2) {
            addCriterion("call_phone between", value1, value2, "callPhone");
            return (Criteria) this;
        }

        public Criteria andCallPhoneNotBetween(Long value1, Long value2) {
            addCriterion("call_phone not between", value1, value2, "callPhone");
            return (Criteria) this;
        }

        public Criteria andCallWechatIsNull() {
            addCriterion("call_wechat is null");
            return (Criteria) this;
        }

        public Criteria andCallWechatIsNotNull() {
            addCriterion("call_wechat is not null");
            return (Criteria) this;
        }

        public Criteria andCallWechatEqualTo(String value) {
            addCriterion("call_wechat =", value, "callWechat");
            return (Criteria) this;
        }

        public Criteria andCallWechatNotEqualTo(String value) {
            addCriterion("call_wechat <>", value, "callWechat");
            return (Criteria) this;
        }

        public Criteria andCallWechatGreaterThan(String value) {
            addCriterion("call_wechat >", value, "callWechat");
            return (Criteria) this;
        }

        public Criteria andCallWechatGreaterThanOrEqualTo(String value) {
            addCriterion("call_wechat >=", value, "callWechat");
            return (Criteria) this;
        }

        public Criteria andCallWechatLessThan(String value) {
            addCriterion("call_wechat <", value, "callWechat");
            return (Criteria) this;
        }

        public Criteria andCallWechatLessThanOrEqualTo(String value) {
            addCriterion("call_wechat <=", value, "callWechat");
            return (Criteria) this;
        }

        public Criteria andCallWechatLike(String value) {
            addCriterion("call_wechat like", value, "callWechat");
            return (Criteria) this;
        }

        public Criteria andCallWechatNotLike(String value) {
            addCriterion("call_wechat not like", value, "callWechat");
            return (Criteria) this;
        }

        public Criteria andCallWechatIn(List<String> values) {
            addCriterion("call_wechat in", values, "callWechat");
            return (Criteria) this;
        }

        public Criteria andCallWechatNotIn(List<String> values) {
            addCriterion("call_wechat not in", values, "callWechat");
            return (Criteria) this;
        }

        public Criteria andCallWechatBetween(String value1, String value2) {
            addCriterion("call_wechat between", value1, value2, "callWechat");
            return (Criteria) this;
        }

        public Criteria andCallWechatNotBetween(String value1, String value2) {
            addCriterion("call_wechat not between", value1, value2, "callWechat");
            return (Criteria) this;
        }

        public Criteria andCallBudgetIsNull() {
            addCriterion("call_budget is null");
            return (Criteria) this;
        }

        public Criteria andCallBudgetIsNotNull() {
            addCriterion("call_budget is not null");
            return (Criteria) this;
        }

        public Criteria andCallBudgetEqualTo(String value) {
            addCriterion("call_budget =", value, "callBudget");
            return (Criteria) this;
        }

        public Criteria andCallBudgetNotEqualTo(String value) {
            addCriterion("call_budget <>", value, "callBudget");
            return (Criteria) this;
        }

        public Criteria andCallBudgetGreaterThan(String value) {
            addCriterion("call_budget >", value, "callBudget");
            return (Criteria) this;
        }

        public Criteria andCallBudgetGreaterThanOrEqualTo(String value) {
            addCriterion("call_budget >=", value, "callBudget");
            return (Criteria) this;
        }

        public Criteria andCallBudgetLessThan(String value) {
            addCriterion("call_budget <", value, "callBudget");
            return (Criteria) this;
        }

        public Criteria andCallBudgetLessThanOrEqualTo(String value) {
            addCriterion("call_budget <=", value, "callBudget");
            return (Criteria) this;
        }

        public Criteria andCallBudgetLike(String value) {
            addCriterion("call_budget like", value, "callBudget");
            return (Criteria) this;
        }

        public Criteria andCallBudgetNotLike(String value) {
            addCriterion("call_budget not like", value, "callBudget");
            return (Criteria) this;
        }

        public Criteria andCallBudgetIn(List<String> values) {
            addCriterion("call_budget in", values, "callBudget");
            return (Criteria) this;
        }

        public Criteria andCallBudgetNotIn(List<String> values) {
            addCriterion("call_budget not in", values, "callBudget");
            return (Criteria) this;
        }

        public Criteria andCallBudgetBetween(String value1, String value2) {
            addCriterion("call_budget between", value1, value2, "callBudget");
            return (Criteria) this;
        }

        public Criteria andCallBudgetNotBetween(String value1, String value2) {
            addCriterion("call_budget not between", value1, value2, "callBudget");
            return (Criteria) this;
        }

        public Criteria andDemandTypeIsNull() {
            addCriterion("demand_type is null");
            return (Criteria) this;
        }

        public Criteria andDemandTypeIsNotNull() {
            addCriterion("demand_type is not null");
            return (Criteria) this;
        }

        public Criteria andDemandTypeEqualTo(Integer value) {
            addCriterion("demand_type =", value, "demandType");
            return (Criteria) this;
        }

        public Criteria andDemandTypeNotEqualTo(Integer value) {
            addCriterion("demand_type <>", value, "demandType");
            return (Criteria) this;
        }

        public Criteria andDemandTypeGreaterThan(Integer value) {
            addCriterion("demand_type >", value, "demandType");
            return (Criteria) this;
        }

        public Criteria andDemandTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("demand_type >=", value, "demandType");
            return (Criteria) this;
        }

        public Criteria andDemandTypeLessThan(Integer value) {
            addCriterion("demand_type <", value, "demandType");
            return (Criteria) this;
        }

        public Criteria andDemandTypeLessThanOrEqualTo(Integer value) {
            addCriterion("demand_type <=", value, "demandType");
            return (Criteria) this;
        }

        public Criteria andDemandTypeIn(List<Integer> values) {
            addCriterion("demand_type in", values, "demandType");
            return (Criteria) this;
        }

        public Criteria andDemandTypeNotIn(List<Integer> values) {
            addCriterion("demand_type not in", values, "demandType");
            return (Criteria) this;
        }

        public Criteria andDemandTypeBetween(Integer value1, Integer value2) {
            addCriterion("demand_type between", value1, value2, "demandType");
            return (Criteria) this;
        }

        public Criteria andDemandTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("demand_type not between", value1, value2, "demandType");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNull() {
            addCriterion("create_date is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("create_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(Date value) {
            addCriterion("create_date =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(Date value) {
            addCriterion("create_date <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(Date value) {
            addCriterion("create_date >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("create_date >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(Date value) {
            addCriterion("create_date <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("create_date <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<Date> values) {
            addCriterion("create_date in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<Date> values) {
            addCriterion("create_date not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(Date value1, Date value2) {
            addCriterion("create_date between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("create_date not between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andLngIsNull() {
            addCriterion("lng is null");
            return (Criteria) this;
        }

        public Criteria andLngIsNotNull() {
            addCriterion("lng is not null");
            return (Criteria) this;
        }

        public Criteria andLngEqualTo(Double value) {
            addCriterion("lng =", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngNotEqualTo(Double value) {
            addCriterion("lng <>", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngGreaterThan(Double value) {
            addCriterion("lng >", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngGreaterThanOrEqualTo(Double value) {
            addCriterion("lng >=", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngLessThan(Double value) {
            addCriterion("lng <", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngLessThanOrEqualTo(Double value) {
            addCriterion("lng <=", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngIn(List<Double> values) {
            addCriterion("lng in", values, "lng");
            return (Criteria) this;
        }

        public Criteria andLngNotIn(List<Double> values) {
            addCriterion("lng not in", values, "lng");
            return (Criteria) this;
        }

        public Criteria andLngBetween(Double value1, Double value2) {
            addCriterion("lng between", value1, value2, "lng");
            return (Criteria) this;
        }

        public Criteria andLngNotBetween(Double value1, Double value2) {
            addCriterion("lng not between", value1, value2, "lng");
            return (Criteria) this;
        }

        public Criteria andLatIsNull() {
            addCriterion("lat is null");
            return (Criteria) this;
        }

        public Criteria andLatIsNotNull() {
            addCriterion("lat is not null");
            return (Criteria) this;
        }

        public Criteria andLatEqualTo(Double value) {
            addCriterion("lat =", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatNotEqualTo(Double value) {
            addCriterion("lat <>", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatGreaterThan(Double value) {
            addCriterion("lat >", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatGreaterThanOrEqualTo(Double value) {
            addCriterion("lat >=", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatLessThan(Double value) {
            addCriterion("lat <", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatLessThanOrEqualTo(Double value) {
            addCriterion("lat <=", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatIn(List<Double> values) {
            addCriterion("lat in", values, "lat");
            return (Criteria) this;
        }

        public Criteria andLatNotIn(List<Double> values) {
            addCriterion("lat not in", values, "lat");
            return (Criteria) this;
        }

        public Criteria andLatBetween(Double value1, Double value2) {
            addCriterion("lat between", value1, value2, "lat");
            return (Criteria) this;
        }

        public Criteria andLatNotBetween(Double value1, Double value2) {
            addCriterion("lat not between", value1, value2, "lat");
            return (Criteria) this;
        }

        public Criteria andGeoCodeIsNull() {
            addCriterion("geo_code is null");
            return (Criteria) this;
        }

        public Criteria andGeoCodeIsNotNull() {
            addCriterion("geo_code is not null");
            return (Criteria) this;
        }

        public Criteria andGeoCodeEqualTo(Long value) {
            addCriterion("geo_code =", value, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeNotEqualTo(Long value) {
            addCriterion("geo_code <>", value, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeGreaterThan(Long value) {
            addCriterion("geo_code >", value, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeGreaterThanOrEqualTo(Long value) {
            addCriterion("geo_code >=", value, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeLessThan(Long value) {
            addCriterion("geo_code <", value, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeLessThanOrEqualTo(Long value) {
            addCriterion("geo_code <=", value, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeIn(List<Long> values) {
            addCriterion("geo_code in", values, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeNotIn(List<Long> values) {
            addCriterion("geo_code not in", values, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeBetween(Long value1, Long value2) {
            addCriterion("geo_code between", value1, value2, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeNotBetween(Long value1, Long value2) {
            addCriterion("geo_code not between", value1, value2, "geoCode");
            return (Criteria) this;
        }

        public Criteria andStyleIdIsNull() {
            addCriterion("style_id is null");
            return (Criteria) this;
        }

        public Criteria andStyleIdIsNotNull() {
            addCriterion("style_id is not null");
            return (Criteria) this;
        }

        public Criteria andStyleIdEqualTo(Integer value) {
            addCriterion("style_id =", value, "styleId");
            return (Criteria) this;
        }

        public Criteria andStyleIdNotEqualTo(Integer value) {
            addCriterion("style_id <>", value, "styleId");
            return (Criteria) this;
        }

        public Criteria andStyleIdGreaterThan(Integer value) {
            addCriterion("style_id >", value, "styleId");
            return (Criteria) this;
        }

        public Criteria andStyleIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("style_id >=", value, "styleId");
            return (Criteria) this;
        }

        public Criteria andStyleIdLessThan(Integer value) {
            addCriterion("style_id <", value, "styleId");
            return (Criteria) this;
        }

        public Criteria andStyleIdLessThanOrEqualTo(Integer value) {
            addCriterion("style_id <=", value, "styleId");
            return (Criteria) this;
        }

        public Criteria andStyleIdIn(List<Integer> values) {
            addCriterion("style_id in", values, "styleId");
            return (Criteria) this;
        }

        public Criteria andStyleIdNotIn(List<Integer> values) {
            addCriterion("style_id not in", values, "styleId");
            return (Criteria) this;
        }

        public Criteria andStyleIdBetween(Integer value1, Integer value2) {
            addCriterion("style_id between", value1, value2, "styleId");
            return (Criteria) this;
        }

        public Criteria andStyleIdNotBetween(Integer value1, Integer value2) {
            addCriterion("style_id not between", value1, value2, "styleId");
            return (Criteria) this;
        }

        public Criteria andStyleAnliIsNull() {
            addCriterion("style_anli is null");
            return (Criteria) this;
        }

        public Criteria andStyleAnliIsNotNull() {
            addCriterion("style_anli is not null");
            return (Criteria) this;
        }

        public Criteria andStyleAnliEqualTo(Integer value) {
            addCriterion("style_anli =", value, "styleAnli");
            return (Criteria) this;
        }

        public Criteria andStyleAnliNotEqualTo(Integer value) {
            addCriterion("style_anli <>", value, "styleAnli");
            return (Criteria) this;
        }

        public Criteria andStyleAnliGreaterThan(Integer value) {
            addCriterion("style_anli >", value, "styleAnli");
            return (Criteria) this;
        }

        public Criteria andStyleAnliGreaterThanOrEqualTo(Integer value) {
            addCriterion("style_anli >=", value, "styleAnli");
            return (Criteria) this;
        }

        public Criteria andStyleAnliLessThan(Integer value) {
            addCriterion("style_anli <", value, "styleAnli");
            return (Criteria) this;
        }

        public Criteria andStyleAnliLessThanOrEqualTo(Integer value) {
            addCriterion("style_anli <=", value, "styleAnli");
            return (Criteria) this;
        }

        public Criteria andStyleAnliIn(List<Integer> values) {
            addCriterion("style_anli in", values, "styleAnli");
            return (Criteria) this;
        }

        public Criteria andStyleAnliNotIn(List<Integer> values) {
            addCriterion("style_anli not in", values, "styleAnli");
            return (Criteria) this;
        }

        public Criteria andStyleAnliBetween(Integer value1, Integer value2) {
            addCriterion("style_anli between", value1, value2, "styleAnli");
            return (Criteria) this;
        }

        public Criteria andStyleAnliNotBetween(Integer value1, Integer value2) {
            addCriterion("style_anli not between", value1, value2, "styleAnli");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria implements Serializable {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}